Large and complex IT service management environments that provide multiple services to a plurality of customers can create an unmanageable number of entities. CMDB CIs represent an extensive range of logical and physical entities and their complex relationships. A typical implementation of a CMDB may contain more than 800 abstract object classes, with implicit and explicit relationships between them that may be extended in an open-ended fashion. Organizing entities into dependency trees or graphs for a high-level view of the topology eases systems management. A CMDB is broad and semantically rich enough that it may apply to higher layers such as, for example, a business process or a distributed application. A CMDB is also granular enough to represent, for example, tables in a database or enterprise Java beans (EJBs) used in an enterprise application. In real-world enterprise systems, there may be tens of thousands or more entities with complex relationships between them. Compositions are ideally suited to multi-layered topologies.
The more levels in a CMDB, the more information there is to be handled. This results in larger and more complex CMDB elements. The fewer levels in a CMDB, the less control and information there are about the IT infrastructure. If the CMDB scope is too narrow, important parts of the infrastructure are not easily checked. If the CMDB scope is too wide, the cumbersome database will be an obstacle that slows down all service and management processes. If there are too many levels, attributes, and relationships, it will take processes a great effort to maintain the CMDB. Too little detail can mean recording insufficient information about the CI's and related incidents, problems, symptoms and requests for change (RFC).